package br.com.werp.regras.tesouraria.controle;

import java.util.List;

import br.com.werp.regras.geral.FabricaSubSistema;
import br.com.werp.regras.geral.GerenciamentoPessoa;
import br.com.werp.regras.geral.util.BeanUtil;
import br.com.werp.regras.geral.util.Util;
import br.com.werp.regras.geral.vos.pessoa.PessoaBancoVO;
import br.com.werp.regras.geral.vos.tesouraria.BancoFormVO;


/**
 * @author Sobreira
 * Criado em 31/01/2005
 *
 */
public class ControleBanco {
    public void persistirBanco(Object form, String usuario, String operacao)
        throws Exception {
        BancoFormVO bancoFormVO = new BancoFormVO();
        BeanUtil.copiarVO(form, bancoFormVO);

        if ("s".equalsIgnoreCase(bancoFormVO.getJuri_tipo())) {
            bancoFormVO.setJuri_tipo(null);
        }

        PessoaBancoVO pessoaBancoVO = new PessoaBancoVO();
        BeanUtil.copiarVOStringTipo(bancoFormVO, pessoaBancoVO);

        GerenciamentoPessoa gerenciamentoPessoa = FabricaSubSistema.getGerenciamentoPessoa();
        gerenciamentoPessoa.persistirBanco(pessoaBancoVO, usuario);
    }

    public List obterBancos(Object form) throws Exception {
        GerenciamentoPessoa gerenciamentoPessoa = FabricaSubSistema.getGerenciamentoPessoa();
        BancoFormVO bancoFormVO = new BancoFormVO();
        BeanUtil.copiarVO(form, bancoFormVO);

        if ("s".equalsIgnoreCase(bancoFormVO.getJuri_tipo())) {
            bancoFormVO.setJuri_tipo(null);
        }

        PessoaBancoVO pessoaBancoVO = new PessoaBancoVO();
        BeanUtil.copiarVOStringTipo(bancoFormVO, pessoaBancoVO);

        return gerenciamentoPessoa.pesquisarBanco(pessoaBancoVO);
    }

    public void carregarBanco(Object form) throws Exception {
        PessoaBancoVO pessoaBancoVO = (PessoaBancoVO) Util.get0(obterBancos(
                    form));

        BeanUtil.copiarVOTipoString(pessoaBancoVO, form);
    }

    public List pesquisarAjaxBanco_action(Object form)
        throws Exception {
        return obterBancos(form);
    }
}
